package com.source.sys.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.source.sys.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.source.sys.vo.RoleVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ZZF
 * @since 2021-02-08
 */
public interface RoleService extends IService<Role> {
    /**
     * 添加角色信息
     * @param role
     * @return
     */
    boolean addRole(Role role);

    /**
     * 显示所有角色信息
     * @return
     */
    List<Role> listRole();

    /**
     * 显示所有角色信息(分页)
     * @param currentPageNo
     * @param size
     * @return
     */
    Page<Role> listRolePage(int currentPageNo, int size);

    /**
     * 删除角色信息(逻辑删除)
     * @param roleId
     * @return
     */
    boolean deleteRoleById(String roleId);

    /**
     * 回显角色信息，配合修改角色信息使用
     * @param roleId
     * @return
     */
    Role showRoleById(String roleId);

    /**
     * 修改角色信息
     * @param role
     * @return
     */
    boolean updateRole(Role role);

    /**
     * 根据角色id修改角色名称
     * @param roleId
     * @param roleName
     * @return
     */
    boolean updateRoleNameByRid(String roleId,String roleName);

    /**
     * 根据检索条件获取角色信息分页
     * @param queryContent
     * @param currentPageNo
     * @param size
     * @return
     */
    Page<RoleVo> listRolePageByWrapper(String queryContent, Integer currentPageNo, Integer size);

}